package creational.pattern.factory.factories;


import creational.pattern.factory.help.SpringApplicationUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * @Autor: yuanyongan
 * @Description: 按照依赖注入的方式，可以使用spring自带的ApplicationContext的getBean方法
 * 但这里的依赖注入每个Object返回更像是单例，TODO:这个需要更深入的了解一下
 * 并且需要注入ApplicationContext，所以需要是Spring项目
 * @Date 2023/1/9 9:26
 */
public class SuggestFactoryImpl {
    private final Map<String, Object> objectMap = new HashMap<>();

    public void addObjects(String... objectNames){
        for (String name : objectNames){
            objectMap.put(name, SpringApplicationUtils.getBean(name));
        }
    }

    public Object getBean(String name){
        return objectMap.get(name);
    }

}
